package com.dowsure.apisaas.model;

import com.dowsure.apisaas.annotation.RequestParamValidated;
import com.dowsure.apisaas.enums.BorrowerTypeEnums;
import com.dowsure.apisaas.enums.CardTypeEnums;
import lombok.Data;

import java.util.List;

/**
 * @description: 请求发送offer请求参数
 * @author: Dowsure
 * @create: 2022-02-21 16:49
 **/
@Data
public class SellerOfferRequestParams {

    /**
     * 借款人类型
     * PERSONAL（个人）、 ENTERPRISE（企业）
     */
    @RequestParamValidated(required = true, msg="借款人类型")
    private BorrowerTypeEnums borrowerType;

    /**
     * 借款人姓名（实控人）
     */
    @RequestParamValidated(required = true, msg="借款人姓名（实控人）", maxLen = 32)
    private String borrowerName;

    /**
     * 借款人手机号（实控人）
     */
    @RequestParamValidated(required = false, msg="借款人手机号（实控人）", maxLen = 15)
    private String borrowerPhoneNumber;

    /**
     * 企业法人姓名
     */
    @RequestParamValidated(required = false, msg="企业法人姓名", maxLen = 15)
    private String legalPersonName;

    /**
     * 借款人证件类型borrowerPhoneNumber
     * IDCARD（身份证）、 PASSPORT（护照
     */
    @RequestParamValidated(required = true, msg="借款人证件类型")
    private CardTypeEnums cardType;

    /**
     * 借款人证件号码
     * 若用户未接入支付公司，需要提供该信息，该信息用于匹配卖家在支付公司的的账户信息。MD5加密
     */
    @RequestParamValidated(required = true, msg="借款人证件号码", maxLen = 32)
    private String cardNumber;

    /**
     * 借款人企业营业执照号
     * 若用户未接入支付公司并且卖家是企业用户，需要提供该信息，该信息用于匹配卖家在支付公的账户信息。MD5加密。
     */
    @RequestParamValidated(required = false, msg="借款人企业营业执照号", maxLen = 32)
    private String bizLicenseNumber;

    /**
     * 卖家信息List
     */
    @RequestParamValidated(required = true, msg="卖家信息List")
    private List<SellerOfferSeller> sellerList;
}
